package com.suncnpap.system.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.suncnpap.base.model.BaseObj;

/** 
 * 说明：菜单权限 实体类
 * 创建时间：2016-10-19
 */
public class Menu extends BaseObj implements Serializable {
	
	public Menu(){}
	
	/**
	 * 菜单类型--菜单
	 */
	public static final String MENU_TYPE_MENU = "menu";			//菜单类型-菜单
	
	/**
	 * 菜单类型-按钮
	 */
	public static final String MENU_TYPE_PERMISSION = "permission";	//菜单类型-按钮
	
	/**
	 * 文件夹
	 */
	public static final String MENU_TYPE_FOLDER = "folder";		
	
	/**
	 * 业务菜单
	 */
	public static final String MENU_NATURE_NOMAL = "10";		//业务菜单
	
	/**
	 * 管理菜单
	 */
	public static final String MENU_NATURE_MANAGER = "20";		//管理菜单
	
	/**
	 * 表示上级id为空
	 */
	public static final String ParentId_none = "-1";			
	
	private static final long serialVersionUID =1L;
	private String strName;				//菜单权限名称
	private String strTitle;			//标题
	private String strIcon;				//图标
	private String strRoute; 			//前台路由
	private String strUrl;				//接口地址
	
	
	private String strColor;			//图标颜色
	private String strType;				//类型  menu菜单   按钮permission
	private String strNature;			//菜单性质
	private String strAdminType;		//所属管理员类型

	private String strPreCode;	//菜单权限编码
	private String strParentId = ParentId_none;	//父级ID，默认为空
	private Integer intSort;	//排序
	private String strRemark;	//备注
	private String strIsAuthentic;//是否认证(0否、1是)
	
	private String strParentName;		//父级模块名称
	private Date dtUpdateDate;			//修改时间
	private String strState;			//状态，0-为启用，1-为禁用

	private Integer intOldSort;			//旧序号  不存入数据库
	private String strOldParentId;		//旧上级  不存入数据库
	
	/**生成树形菜单**/
	private List<Menu> children;//子级菜单
	/**生成树形菜单**/
	
	
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return "菜单名："+this.getStrName()+",路径为："+this.getStrUrl();
	}
	
	public String getStrName() {
		return strName;
	}
	public void setStrName(String strName) {
		this.strName = strName;
	}
	
	public String getStrIcon() {
		return strIcon;
	}
	public void setStrIcon(String strIcon) {
		this.strIcon = strIcon;
	}
	public String getStrColor() {
		return strColor;
	}
	public void setStrColor(String strColor) {
		this.strColor = strColor;
	}
	public String getStrType() {
		return strType;
	}
	public void setStrType(String strType) {
		this.strType = strType;
	}
	
	public String getStrNature() {
		return strNature;
	}
	public void setStrNature(String strNature) {
		this.strNature = strNature;
	}
	public String getStrAdminType() {
		return strAdminType;
	}
	public void setStrAdminType(String strAdminType) {
		this.strAdminType = strAdminType;
	}
	public String getStrUrl() {
		return strUrl;
	}
	public void setStrUrl(String strUrl) {
		this.strUrl = strUrl;
	}
	public String getStrPreCode() {
		return strPreCode;
	}
	public void setStrPreCode(String strPreCode) {
		this.strPreCode = strPreCode;
	}
	public String getStrParentId() {
		return strParentId;
	}
	public void setStrParentId(String strParentId) {
		this.strParentId = strParentId;
	}
	public Integer getIntSort() {
		return intSort;
	}
	public void setIntSort(Integer intSort) {
		this.intSort = intSort;
	}
	
	public String getStrRemark() {
		return strRemark;
	}
	public void setStrRemark(String strRemark) {
		this.strRemark = strRemark;
	}
	public String getStrIsAuthentic() {
		return strIsAuthentic;
	}
	public void setStrIsAuthentic(String strIsAuthentic) {
		this.strIsAuthentic = strIsAuthentic;
	}
	public List<Menu> getChildren() {
		return children;
	}
	public void setChildren(List<Menu> children) {
		this.children = children;
	}
	public Integer getIntOldSort() {
		return intOldSort;
	}
	public void setIntOldSort(Integer intOldSort) {
		this.intOldSort = intOldSort;
	}
	public String getStrOldParentId() {
		return strOldParentId;
	}
	public void setStrOldParentId(String strOldParentId) {
		this.strOldParentId = strOldParentId;
	}

	public String getStrTitle() {
		return strTitle;
	}

	public void setStrTitle(String strTitle) {
		this.strTitle = strTitle;
	}

	public String getStrRoute() {
		return strRoute;
	}

	public void setStrRoute(String strRoute) {
		this.strRoute = strRoute;
	}

	public String getStrParentName() {
		return strParentName;
	}

	public void setStrParentName(String strParentName) {
		this.strParentName = strParentName;
	}

	public Date getDtUpdateDate() {
		return dtUpdateDate;
	}

	public void setDtUpdateDate(Date dtUpdateDate) {
		this.dtUpdateDate = dtUpdateDate;
	}

	public String getStrState() {
		return strState;
	}

	public void setStrState(String strState) {
		this.strState = strState;
	}

	
}
